﻿/**
 * @file        ossymbols.h
 * @brief       os模块链接、编译所需各种符号定义
 * @version     1.0
 * @author      heyameng@geely.com
 * @date        2022.01.14
 * @copyright   Copyright  2022 Langge Software Co., Ltd. All rights reserved.
 */
#ifndef OS_SYMBOLS_H
#define OS_SYMBOLS_H

#ifdef OS_EXPORT_DLL
    #ifdef OS_EXPORT
        #define OS_API      __declspec(dllexport)
        #define OSPL_API    extern "C" __declspec(dllexport) 
    #else
        #define OS_API __declspec(dllimport)
        #define OSPL_API extern "C"
    #endif // OS_API
#else
    #define OS_API
    #define OSPL_API extern "C"
#endif // OS_EXPORT_DLL



// #ifndef OSPL_API
// # if defined(GLAD_GLAPI_EXPORT)
// #  if defined(_WIN32) || defined(__CYGWIN__)
// #   if defined(GLAD_GLAPI_EXPORT_BUILD)
// #    if defined(__GNUC__)
// #     define OSPL_API __attribute__ ((dllexport)) extern
// #    else
// #     define OSPL_API __declspec(dllexport) extern
// #    endif
// #   else
// #    if defined(__GNUC__)
// #     define OSPL_API __attribute__ ((dllimport)) extern
// #    else
// #     define OSPL_API __declspec(dllimport) extern
// #    endif
// #   endif
// #  elif defined(__GNUC__) && defined(GLAD_GLAPI_EXPORT_BUILD)
// #   define OSPL_API __attribute__ ((visibility ("default"))) extern
// #  else
// #   define OSPL_API extern
// #  endif
// # else
// #  define OSPL_API extern
// # endif
// #endif



#endif // !OS_SYMBOLS_H